Use case: DCACHE error interrupt handling ¶
Sequence diagram ¶
Code snippet ¶
|
HAL1 |
HAL2 |
|---|---|
/* Optional: register error callback */
HAL_DCACHE_RegisterCallback(&hdcache, HAL_DCACHE_ERROR_CB_ID,
USER_DCACHE_ErrorCallback);
HAL_DCACHE_Enable(&hdcache);
__HAL_DCACHE_ENABLE_IT(&hdcache, DCACHE_IT_ERR);
/* In IRQ handler */
void DCACHE_IRQHandler(void)
{
HAL_DCACHE_IRQHandler(&hdcache);
}
|
/* Optional: register error callback */
HAL_DCACHE_RegisterErrorCallback(DCACHE_Error_UserCallback);
/* Start DCACHE with error interrupt enabled */
HAL_DCACHE_Start(&hdcache, HAL_DCACHE_IT_ERROR);
/* In IRQ handler */
void DCACHE_IRQHandler(void)
{
HAL_DCACHE_IRQHandler(&hdcache);
}
|
Key changes ¶
HAL2 uses
HAL_DCACHE_RegisterErrorCallback()instead of registering by callback ID.HAL2 enables error interrupts as part of
HAL_DCACHE_Start().Error processing is still performed through
HAL_DCACHE_IRQHandler().

